35#define mrb_hash_ptr(v) ((struct RHash*)(mrb_ptr(v)))
36#define mrb_hash_value(p) mrb_obj_value((void*)(p))
211#define RHASH(hash) ((struct RHash*)(mrb_ptr(hash)))
213#define MRB_HASH_IB_BIT_BIT 5
214#define MRB_HASH_AR_EA_CAPA_BIT 5
215#define MRB_HASH_IB_BIT_SHIFT 0
216#define MRB_HASH_AR_EA_CAPA_SHIFT 0
217#define MRB_HASH_AR_EA_N_USED_SHIFT MRB_HASH_AR_EA_CAPA_BIT
218#define MRB_HASH_SIZE_FLAGS_SHIFT (MRB_HASH_AR_EA_CAPA_BIT * 2)
219#define MRB_HASH_IB_BIT_MASK ((1 << MRB_HASH_IB_BIT_BIT) - 1)
220#define MRB_HASH_AR_EA_CAPA_MASK ((1 << MRB_HASH_AR_EA_CAPA_BIT) - 1)
221#define MRB_HASH_AR_EA_N_USED_MASK (MRB_HASH_AR_EA_CAPA_MASK << MRB_HASH_AR_EA_N_USED_SHIFT)
222#define MRB_HASH_DEFAULT (1 << (MRB_HASH_SIZE_FLAGS_SHIFT + 0))
223#define MRB_HASH_PROC_DEFAULT (1 << (MRB_HASH_SIZE_FLAGS_SHIFT + 1))
224#define MRB_HASH_HT (1 << (MRB_HASH_SIZE_FLAGS_SHIFT + 2))
225#define MRB_RHASH_DEFAULT_P(hash) (RHASH(hash)->flags & MRB_HASH_DEFAULT)
226#define MRB_RHASH_PROCDEFAULT_P(hash) (RHASH(hash)->flags & MRB_HASH_PROC_DEFAULT)
mruby common platform definition"
#define MRB_END_DECL
End declarations in C mode.
Definition common.h:28
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition common.h:26
#define MRB_API
Declare a public mruby API function.
Definition common.h:108
void mrb_hash_merge(mrb_state *mrb, mrb_value hash1, mrb_value hash2)
Merges the contents of hash2 into hash1.
Definition hash.c:1961
void mrb_hash_foreach(mrb_state *mrb, struct RHash *hash, mrb_hash_foreach_func *func, void *p)
Iterates over each key-value pair in the given hash.
Definition hash.c:1182
mrb_value mrb_hash_new_capa(mrb_state *mrb, mrb_int capa)
Creates a new, empty hash with a specified initial capacity.
Definition hash.c:1235
void mrb_hash_set(mrb_state *mrb, mrb_value hash, mrb_value key, mrb_value val)
Sets or updates a key-value pair in the hash.
Definition hash.c:1410
mrb_int mrb_hash_size(mrb_state *mrb, mrb_value hash)
Returns the number of key-value pairs in the hash.
Definition hash.c:1782
mrb_value mrb_hash_dup(mrb_state *mrb, mrb_value hash)
Creates a new hash that is a duplicate of the given hash.
Definition hash.c:1321
mrb_value mrb_hash_new(mrb_state *mrb)
Creates a new, empty hash.
Definition hash.c:1212
mrb_value mrb_hash_fetch(mrb_state *mrb, mrb_value hash, mrb_value key, mrb_value def)
Retrieves the value associated with a given key from the hash, returning a C-provided default value i...
Definition hash.c:1382
mrb_value mrb_hash_delete_key(mrb_state *mrb, mrb_value hash, mrb_value key)
Deletes a key-value pair from the hash.
Definition hash.c:1665
mrb_value mrb_hash_get(mrb_state *mrb, mrb_value hash, mrb_value key)
Retrieves the value associated with a given key from the hash.
Definition hash.c:1349
Hash class.
Definition hash.h:18
Definition boxing_nan.h:40